package com.Shuang.UDP;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

public class Server {
    public static void main(String[] args) {
        try {
            System.out.println("====服务端====");
            //1 创建服务端对象  服务端端口
            DatagramSocket socket = new DatagramSocket(6666);

            while (true) {
                //2 创建接受数据包对象 用于接受数据
                byte[] buffer= new byte[1024 * 64];  //UDP规定发送的数据包最大就是64kb，设置成这么大保证一次能够全部接到
                DatagramPacket packet = new DatagramPacket(buffer, buffer.length);

                //3 接收数据
                socket.receive(packet);
                //获取接受数据的大小
                int length = packet.getLength();
                //解码接受到的数据，获取多少得到多少
                String rs = new String(buffer, 0, length);

                System.out.println(rs);
                System.out.println("客户端IP:" + packet.getAddress().getHostAddress());
                System.out.println("客服端端口：" + packet.getPort());
                System.out.println("--------------------------------------------------");
                //服务端不用关闭，要一直等着客户端发送数据，先启动服务端，再启动客户端
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
